package com.wlkj.config;

import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.kit.PropKit;
import com.jfinal.render.ViewType;

/**
 * API引导式配置
 */
public class SysConfig extends JFinalConfig {

	/**
	 * 配置常量
	 */
	public void configConstant(Constants me) {
		PropKit.use("config.properties");
		me.setViewType(ViewType.JSP); // 设置视图类型为Jsp，否则默认为FreeMarker
		me.setDevMode(PropKit.getBoolean("devMode", false));
		me.setUrlParaSeparator(",");
		me.setMaxPostSize(209715200);// 设置200M
	}

	/**
	 * 配置路由
	 */
	public void configRoute(Routes me) {
		me.add(new _RouteKit());
	}

	/**
	 * 配置插件
	 */
	public void configPlugin(Plugins me) {
		// 配置DruidPlugin数据库连接池插件
		/*
		DruidPlugin druidPlugin = new DruidPlugin(
				PropKit.get("jdbcUrl").trim(), PropKit.get("user").trim(),
				PropKit.get("password").trim());
		me.add(druidPlugin);

		// arp
		ActiveRecordPlugin arp = new ActiveRecordPlugin("mysql-write",
				druidPlugin);
		arp.setContainerFactory(new CaseInsensitiveContainerFactory());

		arp.setDialect(new MysqlDialect());
		me.add(arp);

		// 映射表到 Model模型
		_MappingKit.mapping(arp);

		// 缓存
		// me.add(new EhCachePlugin());
		 * */
		 
	}

	/**
	 * 配置全局拦截器
	 */
	public void configInterceptor(Interceptors me) {
		//me.add(new CommonInterceptor());
	}

	/**
	 * 配置处理器
	 */
	public void configHandler(Handlers me) {

	}

	/**
	 * 启动后
	 */
	@Override
	public void afterJFinalStart() {
	}

//	public static void main(String[] args) {
//		JFinal.start("WebContent", 8080, "/gzmc-api", 5);
//	}
}
